namespace ext.state
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// This is the global state manager. By default all components that are &quot;state aware&quot; check this class
	/// for state information if you don&apos;t pass them a custom state provider. In order for this class
	/// to be useful, it must be initialized with a provider when your application initializes. Example usage:
	/// 
	/// // in your initialization function
	/// init : function(){
	/// Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
	/// var win = new Window(...);
	/// win.restoreState();
	/// }
	/// </summary>
	/// <htmlSummary>
	/// This is the global state manager. By default all components that are &quot;state aware&quot; check this class
	/// for state information if you don&apos;t pass them a custom state provider. In order for this class
	/// to be useful, it must be initialized with a provider when your application initializes. Example usage:
	/// &lt;pre&gt;&lt;code&gt;
	/// // in your initialization function
	/// init : function(){
	/// Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
	/// var win = new Window(...);
	/// win.restoreState();
	/// }
	/// &lt;/code&gt;&lt;/pre&gt;
	/// </htmlSummary>
	/// <definedin>src\state\StateManager.js</definedin>
	[ScriptName("Manager")]
	[ScriptNamespace("Ext.state")]
	[Imported()]
	public partial class Manager
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		internal Manager()
		{
		}
		#endregion
		
		#region Methods
		/// <summary>Configures the default state provider for your application</summary>
		/// <definedin>src\state\StateManager.js</definedin>
		/// <param name="stateProvider">The state provider to set</param>
		[ScriptName("setProvider")]
		public void SetProvider(ext.state.Provider stateProvider)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the current value for a key</summary>
		/// <definedin>src\state\StateManager.js</definedin>
		/// <param name="name">The key name</param>
		/// <param name="defaultValue">The default value to return if the key lookup does not match</param>
		/// <returns>The state data</returns>
		[ScriptName("get")]
		public object Get(string name, object defaultValue)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the value for a key</summary>
		/// <definedin>src\state\StateManager.js</definedin>
		/// <param name="name">The key name</param>
		/// <param name="value">The state data</param>
		[ScriptName("set")]
		public void Set(string name, object value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Clears a value from the state</summary>
		/// <definedin>src\state\StateManager.js</definedin>
		/// <param name="name">The key name</param>
		[ScriptName("clear")]
		public void Clear(string name)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the currently configured state provider</summary>
		/// <definedin>src\state\StateManager.js</definedin>
		/// <returns>The state provider</returns>
		[ScriptName("getProvider")]
		public ext.state.Provider GetProvider()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
